class Animal:  # 定义动物类
    # 定义构造方法初始化动物种类和叫声变量
    def __init__(self, species, sound):
        # 如果动物在列表中，变量赋值为传入的参数
        if species in ['猫', '狗', '羊', '猴子', '老虎', '大象']:
            self.species = species
            self.sound = sound
        else:  # 如果不在列表中，变量赋值为None
            self.species = None
            self.sound = None

    def speak(self):  # 定义叫方法
        if self.species == None:  # 如果species为None
            print('动物园里没有该动物，游戏结束！')  # 输出没有该动物提示
            return False  # 返回False
        else:  # 如果species不为None
            # 输出species和sound
            print(self.species, self.sound)
            return True  # 返回True


print('动物园里有什么？')
flag = True  # 定义循环标志flag，赋初始值为True
while flag:  # 循环
    # 输入动物种类和叫声
    s = input('请输入动物种类和叫声（使用空格隔开）:')
    list1 = s.split(' ')  # 以空格分割输入的字符串
    animal = Animal(list1[0], list1[1])  # 创建对象
    flag = animal.speak()  # 调用speak()方法，将返回值赋给flag
